package plus.easydo.core.base.controller;

import org.springframework.beans.BeanUtils;
import plus.easydo.core.result.DataResult;

import java.util.function.Supplier;

/**
 * @author yuzhanfeng
 */
public class BaseController extends DataResult<Object>{

    public static <T> DataResult<T> ok(Object object, Supplier<T> target) {
        T tar = target.get();
        if (null != object) {
            BeanUtils.copyProperties(object, tar);
        }
        return DataResult.ok(tar);
    }

    /**
     * 响应返回结果
     *
     * @param rows 影响行数
     * @return 操作结果
     */
    public static  <T> DataResult<T> opResult(int rows) {
        return rows > 0 ? DataResult.ok() : DataResult.fail();
    }

    /**
     * 响应返回结果
     *
     * @param result 结果
     * @return 操作结果
     */
    public static  <T> DataResult<T> opResult(boolean result) {
        return result ? ok() : fail();
    }

}
